// keypad.h - 修改后的头文件
#ifndef KEYPAD_H
#define KEYPAD_H

#include "driver/i2c.h"
#include "esp_err.h"
#include "freertos/queue.h"

typedef struct {
    uint8_t pin;    // 按键编号 (0-7)
    uint8_t state;  // 状态 (0=释放, 1=按下)
} keypad_event_t;

// 初始化键盘模块
int keypad_init(void);

// 获取键盘事件队列
QueueHandle_t keypad_get_event_queue(void);

// 获取键盘模块地址
uint8_t keypad_get_module_addr(void);

// 设置并保存键盘模块地址
esp_err_t keypad_set_module_addr(uint8_t addr);

#endif // KEYPAD_H